<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    /* 不合理 */
    // console.log(a);
    // var a = 12;

    /**
     * Uncaught ReferenceError: Cannot access 'a' before initialization
     */
    console.log('在变量a声明之前使用：', a);

    /* let 是 es6里面提供的一个声明变量的关键字 */
    /* let 声明之前的区域里面是不能使用这个变量的，这个是由于 let 不能做预解析；并且在 let 之前的
    这块区域，一般我们叫做 死区（死区就是一个概念，记住就行）。问: 什么是死区，以及如何理解死区？ */
    let a = 12;

    console.log('es6里面 let 声明的变量a:', a);




</script>

</html>